
class Person:
    def __init__(self, name, age, sex):
        self.name = name
        self.__age = age
        self.__sex = sex

    @property #注意1.@proterty下面默认跟的是get方法，如果设置成set会报错。
    def age(self):
        return self.__age
    @age.setter #注意2.这里是使用的上面函数名.setter，不是property.setter.
    def age(self, age):
        if 150 <= age or age <= 0:  # 还可以在setter方法里增加判断条件
            print("年龄输入有误")
        else:
            self.__age = age

    @property
    def sex(self):
        return self.__sex
    @sex.setter
    def sex(self, sex):
        if sex not in ['男', '女']:
            print("性别输入有误")
        else:
            self.__sex = sex

person = Person("张三", 18, "男")
person.age = 31 #注意3.有了property后，直接使用t1.age,而不是t1.age()方法了。
person.sex = '男'
print(person.name)
print(person.age)
print(person.sex)
